/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;

import InstanciaJogo.InstanciaJogoSwing;
import java.util.ArrayList;

/**
 * DAOInstanciaJogo
 *
 * Versao 1.0
 *
 * Data Criação 10/02/2014
 *
 * @author Igor
 */
public interface DAOInstanciaJogo {
    //Outros metodos
    /**
     * Busca uma instancia do Jogo, respeitando o idJogo passado como parametro
     * @param idJogo
     * @return 
     */
    public InstanciaJogoSwing buscaInstanciaJogo(long idJogo) throws Exception;

    /**
     * Grava a instancia do jogo passada como parametro
     * @param jogo
     * @return 
     */
    public long gravaInstanciaJogo(InstanciaJogoSwing jogo, ArrayList<Integer> percsAvancarSubFase) throws Exception;
    
    /**
     * Grava a instancia do jogo passada como parametro
     * @param idJogo
     * @param idPessoa 
     */
    public void gravaJogo(long idPessoa, long idJogo) throws Exception;
    
    /**
     * Atualiza a InstanciaJogo adicionando o tempo que o jogador ficou jogando
     * @param idInstanciaJogo
     * @param tempoJogo
     * @throws Exception 
     */
    public void atualizaTempoInstanciaJogo(long idInstanciaJogo, long tempoJogo) throws Exception;
}
